import matplotlib.pyplot as plt  # 导入 matplotlib 库的 pyplot 模块，并将其重命名为 plt，方便后续调用绘图相关功能

x_value = list(range(1, 1001))  # 生成从 1 到 1000 的整数列表，作为 x 轴数据
y_value = [x ** 2 for x in x_value]  # 计算 x_value 中每个元素的平方，作为 y 轴数据
# 绘制散点图
# x_value 为 x 轴数据，y_value 为 y 轴数据
# c=y_value 表示根据 y 值来设置颜色映射
# cmap=plt.cm.Blues 表示使用蓝色系的颜色映射
# edgecolors='none' 表示不显示散点的边缘颜色
# s=40 表示设置散点的大小为 40
plt.scatter(x_value, y_value, c=y_value, cmap=plt.cm.Blues, edgecolors='none', s=40)

# 设置图表标题并给坐标轴加上标签
# 设置图表标题，fontsize 参数设置标题字体大小为 24
plt.title('Square Numbers', fontsize = 24)
# 设置 x 轴的标签，fontsize 参数设置标签字体大小为 14
plt.xlabel('Value', fontsize = 14)
# 设置 y 轴的标签，fontsize 参数设置标签字体大小为 14
plt.ylabel('Square of value', fontsize = 14)

# 设置刻度标记大小
# axis='both' 表示同时设置 x 轴和 y 轴的刻度
# which='major' 表示只设置主刻度
# labelsize=14 表示设置刻度标签的字体大小为 14
plt.tick_params(axis='both', which='major', labelsize=14)
# 设置每个坐标轴的取值范围
# [0, 1100, 0, 1100000] 依次为 x 轴最小值、x 轴最大值、y 轴最小值、y 轴最大值
plt.axis([0, 1100, 0, 1100000])

# 显示绘制好的图表
plt.show()
# # 保存图表为图片文件
# # 'squares_plot.png' 为保存的文件名
# # bbox_inches='tight' 表示去除图片周围的空白区域
# plt.savefig('squares_plot.png', bbox_inches='tight')

# 立方
inputClubValues = list(range(1,1001))  # 生成从 1 到 1000 的整数列表，作为新的 x 轴数据
resValues = [x ** 3 for x in inputClubValues]  # 计算 inputClubValues 中每个元素的立方，作为新的 y 轴数据

# 绘制新的散点图
# inputClubValues 为 x 轴数据，resValues 为 y 轴数据
# c=resValues 表示根据新的 y 值来设置颜色映射
# cmap=plt.cm.Reds 表示使用红色系的颜色映射
# edgecolors='none' 表示不显示散点的边缘颜色
# s=40 表示设置散点的大小为 40
plt.scatter(inputClubValues, resValues, c=resValues, cmap=plt.cm.Reds, edgecolors='none', s=40)

# 显示新绘制的图表
plt.show()

